The scaling of the size of a picture by changing the number of pixels and using the values of the closest source pixels to determine the values for the resultant pixels is well know and is utilized for example to convert from VGA to other formats or to change the size of a window picture on a monitor and many other applications. Scaling is also done for other types of data elements such as digital samples of audio signals. Quantization makes for a lower cost scaler. One efficient type of scaler is a low cost 4-tap 8-phase scaler. A 4-tap scaler requires four source points (pixels, data elements, etc) for each destination or resultant point (pixel,data element,etc.). In mathematical formulation, the equation would be:Q=aA+bB+cC+dD;                where Q is the resultant, {A, B, C, D} are the set of source points and {a, b, c d} is the set of co-efficient or weightinga+b+c+d=1;        Normalization requirement.        
In graphical form, the picture would look like what is shown in FIG. 1.
In this FIG. 1, 9 pixels are scaled down to 6 pixels, the scaling ratio is 3:2.
An 8-phase scaler restricts the resultant point to one of eight positions (i.e. eight sets of weighting values for each of the source points) between any two adjacent source points. FIG. 2 drawing demonstrates an 8-phase scaler. The points {p,q,r,s,t,u,v,w} represent the eight resultant positions that are the only resultant points that may exist between source points {w−1, w}.
A 4-Tap 8-Phase scaler would use four source pixels {w−2, w−1, w, w+1} to calculate every resultant pixel, and each resultant pixel's position would be restricted to one of the eight resultant pixel positions between source pixels w−1 and w.
Co-efficient Quantumization:
In the equations:Q=aA+bB+cC+dD;                where Q is the resultant, {A, B, C, D} are the set of source points and {a, b, c d} is the set of co-efficient or weighting values for each source.a+b+c+d=1;        Normalization requirement.        
In Theory, {A,B,C,D} is allowed to be any real numeric value. In practice, the set {A,B,C,D} is fixed to a set of all real whole numbers in a range:{0<=N<=R}                where N=the pixel value and R is the maximum value allowed for any pixel value.        
Where as {a, b, c, d} is always restricted to the range:{0<=n<=1}                where n=a co-efficient, in both theory and practice. In theory, n may be any value as long as it stay's within the defined range. In practice it is desirable to restrict n to a limited set of values. In effect quantizing the values of n. The reason for applying this restriction to the co-efficient values is cost. In hardware functions like multipliers and dividers are big and costly. By quantizing the co-efficient values, smaller multipliers can be used and all dividers can be completely eliminated.        
The following example of a simple Linear 4-tap 8-phase scaler will best illustrate these concepts in connection with FIG. 3.
Linear Scaler
For a linear 4-tap 8-phase scaler, the values of the a and d quantized co-efficient values would be {0, 2/64, 4/64, 6/64, 8/64, 10/64, 12/64, 14/64, 16/64}, and for b and c would be { 16/64, 18/64, 20/64, 22/64, 24/64, 26/64, 28/64, 30/64, 32/64} for each of the eight resultant phase points. To generate pixel p, the equation would be:p=( 14/64)A+( 30/64)B+( 18/64)C+( 2/64)D                where 14/64+ 30/64+ 18/64+ 2/64=1        
q would be:q=( 12/64)A+( 28/64)B+( 20/64)C+( 4/64)D                where 12/64+ 28/64+ 20/64+ 4/64=1        
and so on for r, s, t, u, v, and w.
Each co-efficient value has been quantized to a value that is divisible by 2 and the normalization requirement has not been violated. If we now define a normalization value of 64 and multiply each coefficient to that value we see that:(a*64)+(b*64)+(c*64)+(d*64)=64=a+b+c+dwhere (i*64=i);
is a true statement for each of the eight phase points {p,q,r,s,t,u,v,w}.
The drawing of FIG. 3 shows the eight phases between sources B and C. Each phase has a tap point for each of the four closest source pixels {A, B, C, D}. Eight phases times four taps equal a total of 32 possible tap points. In the drawing, the co-efficient curve is centered over the source pixel C (i.e. resultant pixel w in the theory above). As can be seen, when the resultant pixel coincides with source pixel C, the co-efficient set is {0, 16/64, 32/64, 16/64}, which are values of the curve over source pixels A, B, C and D. If the co-efficient curve is shifted up by ⅛th pixel, the center of the curve will coincide with source pixel [C −⅛] (i.e. resultant pixel v) and the values of the co-efficient curve directly over pixels A, B C, and D would be { 2/64, 18/64, 30/64, 14/64}. The co-efficient set {a,b,c,d} can be generated for each of the eight phases by shifting the co-efficient curve up in ⅛th pixel increments and recording the value of the curve directly over each of the four source pixels. Note that the normalization value is 64 or 2 to the 6th power (we will get into the importance of this more when we start talking about the hardware implementations). The table of values on the left side of the drawing is a table of all the quantized normalized co-efficient values {a,b,c,d} for each of the 8 resultant phase points {p,q,r,s,t,u,v,w}. Nine rows are shown in the table to show that the co-efficient values for resultant point (w−1) are the same as those for resultant point (w). The drawing shows that w−1. a=w.b. That is because when (w−1) is being calculated (A=w−3, B=w−2, C=w−2, D=w) where as when (w) is being calculated (A=w−2, B=w−1, C=w, and D=w+1). In reality the table has only eight rows, we are just trying to demonstrate the repetitiveness of the pattern.
In linear scalers we can quantize the co-efficient values without distorting or approximating the true co-efficient curve. A non-linear co-efficient curve like [Sin(x)/x] has not been quantized and consequently are costly. This is because there is no way of quantizing without distorting the curve. Similarly other nonlinear curve scalers are costly and have not been quantized. Non-linear curves such as Sin(x)/x have a divide and requires floating point arithmetic. This requires costly processing power. It is highly desirable to provide a lower cost method to quantize non-linear curves.